package com.thesis.object;

/**
 * Bill class
 * 
 * save detail of bill
 * 
 * @author NgocTuyen
 *
 */
public class Bill {
	//variable of detail of bill
	private int id;
	private int userId;
	private int billCode;
	private String date;
	private String startTime;
	private String endTime;
	private int tableId;
	private String feedback;
	private int totalCost;
	private ListBillDescription listDishDes;
	
	/**
	 * Constructor function
	 * 
	 * Constructor
	 * 
	 * @access public
	 * 
	 * @param id: id of bill
	 * @param userId: id of user create bill
	 * @param billCode: code of bill
	 * @param date: date of bill
	 * @param startTime: start time of bill
	 * @param endTime: end time of bill
	 * @param tableId: id of table user bill
	 * @param feedback: feedback of customer
	 * @param totalCost: total cost of bill
	 * 
	 * @return void
	 */
	public Bill(int id, int userId, int billCode, String date, String startTime, String endTime, int tableId, String feedback, int totalCost){
		this.id = id;
		this.userId = userId;
		this.billCode = billCode;
		this.date = date;
		this.startTime = startTime;
		this.endTime = endTime;
		this.tableId = tableId;
		this.feedback = feedback;
		this.totalCost = totalCost;
	}
	
	/**
	 * Constructor function
	 * 
	 * Constructor
	 * 
	 * @access public
	 * 
	 * @param id: id of bill
	 * @param userId: id of user create bill
	 * @param billCode: code of bill
	 * @param date: date of bill
	 * @param startTime: start time of bill
	 * @param endTime: end time of bill
	 * @param tableId: id of table user bill
	 * @param feedback: feedback of customer
	 * @param totalCost: total cost of bill
	 * @param listDishDes: list total of bill description
	 * 
	 * @return void
	 */
	public Bill(int id, int userId, int billCode, String date, String startTime, String endTime, int tableId, String feedback, int totalCost, ListBillDescription listDishDes){
		this.id = id;
		this.userId = userId;
		this.billCode = billCode;
		this.date = date;
		this.startTime = startTime;
		this.endTime = endTime;
		this.tableId = tableId;
		this.feedback = feedback;
		this.totalCost = totalCost;
		this.listDishDes = listDishDes;
	}
	
	/**
	 * getId function
	 * 
	 * get id of bill
	 * 
	 * @access public
	 * 
	 * @param null
	 * 
	 * @return int
	 *  + id: id of bill
	 */
	public int getId(){
		return id;
	}
	
	/**
	 * getUserId function
	 * 
	 * get id of user create bill
	 * 
	 * @access public
	 * 
	 * @param null
	 * 
	 * @return int
	 *  + id of user
	 */
	public int getUserId(){
		return userId;
	}
	
	/**
	 * getBillCode function
	 * 
	 * get bill code of bill
	 * 
	 * @access public
	 * 
	 * @param null
	 * 
	 * @return int
	 *  + bill code of bill
	 */
	public int getBillCode(){
		return billCode;
	}
	
	/**
	 * getDate function
	 * 
	 * date of bill
	 * 
	 * @access public
	 * 
	 * @param null
	 * 
	 * @return String
	 *  + date of bill
	 */
	public String getDate(){
		return date;
	}
	
	/**
	 * getStartTime function
	 * 
	 * get start time of bill
	 * 
	 * @access public
	 * 
	 * @param null
	 * 
	 * @return String
	 * + start time of bill
	 */
	public String getStartTime(){
		return startTime;
	}
	
	/**
	 * getEndTime function
	 * 
	 * get end time of bill
	 * 
	 * @access public
	 * 
	 * @param null
	 * 
	 * @return String
	 * + end time of bill
	 */
	public String getEndTime(){
		return endTime;
	}
	
	/**
	 * getTableId function
	 * 
	 * get id of table serve bill
	 * 
	 * @access public
	 * 
	 * @param null
	 * 
	 * @return int
	 *  + id of table serve bill
	 */
	public int getTableId(){
		return tableId;
	}
	
	/**
	 * getFeedback function
	 * 
	 * get feedback of customer
	 * 
	 * @access public
	 * 
	 * @param null
	 * 
	 * @return String
	 *  + feedback of customer
	 */
	public String getFeedback(){
		return feedback;
	}
	
	/**
	 * getTotalCost function
	 * 
	 * get total cost of bill
	 * 
	 * @access public
	 * 
	 * @param null
	 * 
	 * @return int
	 *  + total cost of bill
	 */
	public int getTotalCost(){
		return totalCost;
	}

	/**
	 * getListDishDes function
	 * 
	 * get list of bill description
	 * 
	 * @access public
	 * 
	 * @param null
	 * 
	 * @return ListBillDescription
	 *  + list of bill description
	 */
	public ListBillDescription getListDishDes() {
		return listDishDes;
	}

	/**
	 * setListDishDes function
	 * 
	 * set list bill description of bill
	 * 
	 * @access public
	 * 
	 * @param listDishDes
	 * 
	 * @return void
	 */
	public void setListDishDes(ListBillDescription listDishDes) {
		this.listDishDes = listDishDes;
	}
}
